"""
头像类。至少包含图片路径，长，宽等属性。
暂不要求对图片操作进行支持（如呈现，修剪等），但要提供属性更新和获取的方法。
"""


class Head:
    """
    头像类。
    包含图片路径，长，宽三个实例属性。
    对于每个实例属性，提供了读写方法。
    提供了Head的字符串表示方法。
    """

    def __init__(self, path: str, height: int, weight: int):
        """
        Instance Initialize.
        """

        self._path = path
        self._height = height
        self._weight = weight

    # 实例变量的读写方法
    def get_path(self):
        return self._path

    def set_path(self, value: str):
        self._path = value

    def get_height(self):
        return self._height

    def set_height(self, value: str):
        self._height = value

    def get_weight(self):
        return self._weight

    def set_weight(self, value: str):
        self._weight = value

    def __str__(self):
        """
        Head实例的字符串表示

        :return: 格式化的字符串，包含实例属性的信息。
        """
        return "{}_{}_{}".format(self.get_path(), self.get_height(), self.get_weight())
